<?php
	
	/* Los valores son horas */
	define("SCH_BASE", 24);
	define("INC_BASE", 24);
	
	/* 	Se define un Scheduled Minimo para aquellos resultados 
		que han cambiado mucho y deben actualizarse lo antes posible */
	define("SCH_MIN", 1);
	/* 	Las medias son los valores salidos de:
		Al acceder a un URI, se calculan los RANK de las KEYWORDS contenidas
		Por cada RANK de cada KEYWORD calculado, se compara con el antiguo (si existe)
		Se calcula el valor absoluto de la diferencia de los RANKs
		Se suman todas las diferencias y divide por el numero de KEYWORDS
		Esa es la media */
	$medias = array(0.8, 0.7, 1.1, 1.2, 0.9, 1.2, 0.8, 0.75, 0.34, 0.2, 0.2, 0.3, 0.2, 0.3, 0.9, 0.8, 1.1, 1.2, 1.5, 2, 1.1);
	
	/* 	Para calcular la diferencia se hace lo siguiente: 
		Si media < 0,5 => DIFERENCIA MAX (1)
		Si media >= 0,5 y <= 1 => DIFERENCIA = sen(media x pi)			Si fuese 1 => DIF = 0
		Si media > 1 => DIFERENCIA = (media * (-1)) +1					Si fuese 1.1 => DIF = -0,1
	*/
	
	?>
	<html><head><style>body:{font-size:8pt;}</style></head><body>
	<table border="1">
	<tr>
		<td><strong>SCH_BASE</strong></td>
		<td><strong>INC_ANT</strong></td>
		<td><strong>INC_BASE</strong></td>
		<td><strong>MEDIA</strong></td>
		<td><strong>DIF</strong></td>
		<td><strong>INC</strong></td>
		<td><strong>SCH</strong></td>
	</tr>
	<?php
	$incremento_anterior = 0;
	foreach($medias as $media){
		
		/* Calculo de diferencia */
		$diferencia = 0;
		if($media < 0.5){
			$diferencia = 1;
		}else if($media >= 0.5 && $media <= 1){
			$diferencia = round(sin(M_PI * $media), 6);
		}else if($media > 1){
			$diferencia = round((($media * -1) +1) , 6);
		}
		
		$incremento = INC_BASE * $diferencia;
		$scheduled = SCH_BASE + $incremento_anterior + $incremento;
		if($scheduled < SCH_MIN)
			$scheduled = SCH_MIN;
		
		echo '
			<tr>
			<td>'.SCH_BASE.'</td>
			<td>'.$incremento_anterior.'</td>
			<td>'.INC_BASE.'</td>
			<td>'.$media.'</td>
			<td>'.$diferencia.'</td>
			<td>'.$incremento.'</td>
			<td>'.$scheduled.'</td>
			</tr>
		';
		if($scheduled != SCH_MIN)
			$incremento_anterior = $incremento;
		else
			$incremento_anterior = $scheduled;
	}	
	
?>
</table>
</body></html>